﻿$(document).ready(function () {

    //La pagina solo contiene un modulo
    var _PAGE = function () {
        this._ManPostulantes = null;


        this.InitManPostulantes = function (Cont) {
            var _parent = this;

            //Vemos si existe el estado del postulante
            if (_parent._ManPostulantes == null) {
                jQuery.getScript(URL_PAGE + "Scripts/app/administrador/ManPostulantes.js", function () {
                    _ManPostulantes.prototype = new Mantenimiento();
                    _parent._ManPostulantes = new _ManPostulantes();
                    _parent.InitManPostulantes(Cont);
                });
            } else {
                var _Urls = Urls;

                _Urls.List = URL_PAGE + "Shared/Catalogo/ListaDePostulante";
                _parent._ManPostulantes.VistaLista = "comite";

                _parent._ManPostulantes.EventoCambioConvocatoria = function (obj) {
                    console.log(obj);
                    var _parentManpostulante = this;
                    var contHerramientas = _parentManpostulante._getCont().find("#_OpcionesConvocatoria");
                    var option = obj.find("option[value='" + obj.val() + "']");
                    if (option.attr("data-conv_codigo") != null) {
                        $.ajax({
                            url: URL_PAGE + "Shared/Administrador/MostrarOpcionesDeConvocatoria",
                            data: {
                                conv_codigo: obj.val(),
                                vista: "comite"
                            },
                            type: "post",
                            success: function (data) {
                                contHerramientas.html(data);
                                contHerramientas.slideDown();
                                _parent.CargarEventosOpcionesConvocatoria();
                            }
                        });
                    } else {
                        contHerramientas.slideUp();
                    }
                }

                _parent._ManPostulantes.Init(Cont, _Urls, "Modal");
                _parent.CargarEventosListaPostulante();
            }
        };

        this.CargarEventosOpcionesConvocatoria = function () {
            var _parent = this;
            var opciones = _parent._ManPostulantes._getCont("#_OpcionesConvocatoria");


        };

        this.CargarEventosListaPostulante = function () {
            var _parent = this;

            _parent._ManPostulantes._ContList.off("click", ".estado-admitir");
            _parent._ManPostulantes._ContList.on("click", ".estado-admitir", function (event) {
                event.preventDefault();
                var obj = $(this);
                $.ajax({
                    type: "POST",
                    url: URL_PAGE + "Administrador/Comite/FormEstadoProcesoAdmitir",
                    cache: false,
                    data: {
                        idpostulante: obj.attr("data-idpostulante"),
                        estado: obj.attr("data-estado")
                    },
                    success: function (html) {
                        var modal = _parent._ManPostulantes._getModalV2();
                        modal.modal('show');

                        //modal.find(".modal-header").find("h4").html(" " + nombrePostulante);
                        modal.find(".modal-body").html(html);
                        modal.find(".modal-header").find("h2").html(modal.find("#titulo-pagina").val());


                        modal.css({
                            width: '600px',
                            'margin-left': function () {
                                return -($(this).width() / 2);
                            }
                        });

                        var tituloModal = "";
                        var tituloConfirmacion = "";
                        var contenidoConfirmacion = "";
                        var tituloExito = "Postulacion";
                        var contenidoExito = "";

                        if (obj.attr("data-estado") == "ADM003A") {
                            tituloConfirmacion = "Admitir postulante";
                            contenidoConfirmacion = "¿Esta seguro de admitir a este postulante?";
                            tituloExito = "Admitir postulante";
                            contenidoExito = "La operación se hizo con exito";
                        } else if (obj.attr("data-estado") == "ADM003X") {
                            tituloConfirmacion = "No admitir postulante";
                            contenidoConfirmacion = "¿Esta seguro de no admitir este postulante?";
                            tituloExito = "No admitir postulante";
                            contenidoExito = "La operación se hizo con exito";
                        } else if (obj.attr("data-estado") == "ADM003O") {
                            tituloConfirmacion = "Observar admisión del postulante";
                            contenidoConfirmacion = "¿Esta seguro de observar la admisión del postulante?";
                            tituloExito = "Observar admisión del postulante";
                            contenidoExito = "La operación se hizo con exito";
                        }

                        //Obteniendo el formulario
                        form = modal.find(".modal-body").find("#_Form");
                        modal.find(".modal-footer").find("#aceptar").click(function () {
                            //console.log(form);
                            form.submit();
                        });

                        //Habilitando el formulario para el envio
                        form.validationEngine({
                            ajaxSubmit: true,
                            onValidationComplete: function (form1, status) {
                                if (status) {
                                    var confirmacion = _parent._ManPostulantes._MensajeConfirmacion();
                                    confirmacion.titulo = tituloConfirmacion;
                                    confirmacion.contenido = contenidoConfirmacion;
                                    confirmacion.yes = function () {
                                        form.ajaxSubmit({
                                            success: function (responseText, statusText, xhr, $form) {

                                                //confirmacion.getModal.modal('hide');
                                                _parent._ManPostulantes._MensajesOperacion("success",
                                                                        tituloExito,
                                                                        contenidoExito);
                                                _parent._ManPostulantes.List();
                                                modal.modal('hide');
                                            }
                                        });
                                    };
                                    confirmacion.modal();
                                }
                            }
                        });
                    }
                });
            });


            _parent._ManPostulantes._ContList.off("click", ".ver-entrevistar-postulante");
            _parent._ManPostulantes._ContList.on("click", ".ver-entrevistar-postulante", function (event) {
                event.preventDefault();
                var obj = $(this);
                $.ajax({
                    type: "POST",
                    url: URL_PAGE + "Administrador/Entrevistador/FichaEntrevistaResumen",
                    cache: false,
                    data: { IdPostulanteEntrevista: obj.attr("data-idpostulanteentrevista") },
                    success: function (html) {
                        var modal = _parent._ManPostulantes._getModalV2();
                        modal.modal('show');

                        //modal.find(".modal-header").find("h4").html(" " + nombrePostulante);
                        modal.find(".modal-body").html(html);
                        modal.find(".modal-header").find("h2").html("Entrevista a: " + modal.find("#NombreCompleto").val());

                        modal.find(".modal-body").css({
                            overflow: 'auto',
                            'height': '400px',
                            'overflow-x': 'scroll'
                        });

                        modal.css({
                            width: '800px',
                            'margin-left': function () {
                                return -($(this).width() / 2);
                            }
                        });

                        //Enviando la ficha de entrevista
                        modal.find(".modal-footer").find("#aceptar").hide();
                    }
                });
            });

        }
    };

    var page = new _PAGE();
    page.InitManPostulantes($("#_Postulante"));

});